package com.bsoft.gol.hcs.common.entity;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

@Entity
@Table(name = "fus_medical_records", catalog = "")
public class FusMedicalRecords {
    private long fusMedicalRecordsId;
    private String organizationId;
    private String organizationName;
    private String hospitalNumber;
    private String recordsId;
    private int recordsType;
    private String patientName;
    private String patientSex;
    private String patientBirthday;
    private String patientAge;
    private String patientId;
    private String patientMobile;
    private String departmentId;
    private String departmentName;
    private String doctorCode;
    private String doctorName;
    private Date recordsTime;
    private Date createTime;
    private Date visitTime;
    private Date beAdmissionTime;
    private Date dischargeTime;
    private String patientNature;
    private String idcardType;
    private String idcardTypeName;
    private String idcard;
    private String address;
    private Integer status;
    private Date lastFollowUpTime;
    private Integer lastFollowUpResultCode;
    private String lastFollowUpResultText;
    private String bedNumber;
    private Date lastSendMessageTime;
    private Byte satisfactionStatus;
    private String patientMedicalCardNumber;
    private Integer patientMedicalCardType;

    @Id
    @Column(name = "fus_medical_records_id")
    public long getFusMedicalRecordsId() {
        return fusMedicalRecordsId;
    }

    public void setFusMedicalRecordsId(long fusMedicalRecordsId) {
        this.fusMedicalRecordsId = fusMedicalRecordsId;
    }

    @Basic
    @Column(name = "organization_id")
    public String getOrganizationId() {
        return organizationId;
    }

    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    @Basic
    @Column(name = "organization_name")
    public String getOrganizationName() {
        return organizationName;
    }

    public void setOrganizationName(String organizationName) {
        this.organizationName = organizationName;
    }

    @Basic
    @Column(name = "hospital_number")
    public String getHospitalNumber() {
        return hospitalNumber;
    }

    public void setHospitalNumber(String hospitalNumber) {
        this.hospitalNumber = hospitalNumber;
    }

    @Basic
    @Column(name = "records_id")
    public String getRecordsId() {
        return recordsId;
    }

    public void setRecordsId(String recordsId) {
        this.recordsId = recordsId;
    }

    @Basic
    @Column(name = "records_type")
    public int getRecordsType() {
        return recordsType;
    }

    public void setRecordsType(int recordsType) {
        this.recordsType = recordsType;
    }

    @Basic
    @Column(name = "patient_name")
    public String getPatientName() {
        return patientName;
    }

    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }

    @Basic
    @Column(name = "patient_sex")
    public String getPatientSex() {
        return patientSex;
    }

    public void setPatientSex(String patientSex) {
        this.patientSex = patientSex;
    }

    @Basic
    @Column(name = "patient_birthday")
    public String getPatientBirthday() {
        return patientBirthday;
    }

    public void setPatientBirthday(String patientBirthday) {
        this.patientBirthday = patientBirthday;
    }

    @Basic
    @Column(name = "patient_age")
    public String getPatientAge() {
        return patientAge;
    }

    public void setPatientAge(String patientAge) {
        this.patientAge = patientAge;
    }

    @Basic
    @Column(name = "patient_id")
    public String getPatientId() {
        return patientId;
    }

    public void setPatientId(String patientId) {
        this.patientId = patientId;
    }

    @Basic
    @Column(name = "patient_mobile")
    public String getPatientMobile() {
        return patientMobile;
    }

    public void setPatientMobile(String patientMobile) {
        this.patientMobile = patientMobile;
    }

    @Basic
    @Column(name = "department_id")
    public String getDepartmentId() {
        return departmentId;
    }

    public void setDepartmentId(String departmentId) {
        this.departmentId = departmentId;
    }

    @Basic
    @Column(name = "department_name")
    public String getDepartmentName() {
        return departmentName;
    }

    public void setDepartmentName(String departmentName) {
        this.departmentName = departmentName;
    }

    @Basic
    @Column(name = "doctor_code")
    public String getDoctorCode() {
        return doctorCode;
    }

    public void setDoctorCode(String doctorCode) {
        this.doctorCode = doctorCode;
    }

    @Basic
    @Column(name = "doctor_name")
    public String getDoctorName() {
        return doctorName;
    }

    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }

    @Basic
    @Column(name = "records_time")
    public Date getRecordsTime() {
        return recordsTime;
    }

    public void setRecordsTime(Date recordsTime) {
        this.recordsTime = recordsTime;
    }

    @Basic
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "visit_time")
    public Date getVisitTime() {
        return visitTime;
    }

    public void setVisitTime(Date visitTime) {
        this.visitTime = visitTime;
    }

    @Basic
    @Column(name = "be_admission_time")
    public Date getBeAdmissionTime() {
        return beAdmissionTime;
    }

    public void setBeAdmissionTime(Date beAdmissionTime) {
        this.beAdmissionTime = beAdmissionTime;
    }

    @Basic
    @Column(name = "discharge_time")
    public Date getDischargeTime() {
        return dischargeTime;
    }

    public void setDischargeTime(Date dischargeTime) {
        this.dischargeTime = dischargeTime;
    }

    @Basic
    @Column(name = "patient_nature")
    public String getPatientNature() {
        return patientNature;
    }

    public void setPatientNature(String patientNature) {
        this.patientNature = patientNature;
    }

    @Basic
    @Column(name = "idcard_type")
    public String getIdcardType() {
        return idcardType;
    }

    public void setIdcardType(String idcardType) {
        this.idcardType = idcardType;
    }

    @Basic
    @Column(name = "idcard_type_name")
    public String getIdcardTypeName() {
        return idcardTypeName;
    }

    public void setIdcardTypeName(String idcardTypeName) {
        this.idcardTypeName = idcardTypeName;
    }

    @Basic
    @Column(name = "idcard")
    public String getIdcard() {
        return idcard;
    }

    public void setIdcard(String idcard) {
        this.idcard = idcard;
    }

    @Basic
    @Column(name = "address")
    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Basic
    @Column(name = "status")
    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    @Basic
    @Column(name = "last_follow_up_time")
    public Date getLastFollowUpTime() {
        return lastFollowUpTime;
    }

    public void setLastFollowUpTime(Date lastFollowUpTime) {
        this.lastFollowUpTime = lastFollowUpTime;
    }

    @Basic
    @Column(name = "last_follow_up_result_code")
    public Integer getLastFollowUpResultCode() {
        return lastFollowUpResultCode;
    }

    public void setLastFollowUpResultCode(Integer lastFollowUpResultCode) {
        this.lastFollowUpResultCode = lastFollowUpResultCode;
    }

    @Basic
    @Column(name = "last_follow_up_result_text")
    public String getLastFollowUpResultText() {
        return lastFollowUpResultText;
    }

    public void setLastFollowUpResultText(String lastFollowUpResultText) {
        this.lastFollowUpResultText = lastFollowUpResultText;
    }

    @Basic
    @Column(name = "bed_number")
    public String getBedNumber() {
        return bedNumber;
    }

    public void setBedNumber(String bedNumber) {
        this.bedNumber = bedNumber;
    }

    @Basic
    @Column(name = "last_send_message_time")
    public Date getLastSendMessageTime() {
        return lastSendMessageTime;
    }

    public void setLastSendMessageTime(Date lastSendMessageTime) {
        this.lastSendMessageTime = lastSendMessageTime;
    }

    @Basic
    @Column(name = "satisfaction_status")
    public Byte getSatisfactionStatus() {
        return satisfactionStatus;
    }

    public void setSatisfactionStatus(Byte satisfactionStatus) {
        this.satisfactionStatus = satisfactionStatus;
    }

    @Basic
    @Column(name = "patient_medical_card_number")
    public String getPatientMedicalCardNumber() {
        return patientMedicalCardNumber;
    }

    public void setPatientMedicalCardNumber(String patientMedicalCardNumber) {
        this.patientMedicalCardNumber = patientMedicalCardNumber;
    }

    @Basic
    @Column(name = "patient_medical_card_type")
    public Integer getPatientMedicalCardType() {
        return patientMedicalCardType;
    }

    public void setPatientMedicalCardType(Integer patientMedicalCardType) {
        this.patientMedicalCardType = patientMedicalCardType;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        FusMedicalRecords that = (FusMedicalRecords) o;
        return fusMedicalRecordsId == that.fusMedicalRecordsId &&
                recordsType == that.recordsType &&
                Objects.equals(organizationId, that.organizationId) &&
                Objects.equals(organizationName, that.organizationName) &&
                Objects.equals(hospitalNumber, that.hospitalNumber) &&
                Objects.equals(recordsId, that.recordsId) &&
                Objects.equals(patientName, that.patientName) &&
                Objects.equals(patientSex, that.patientSex) &&
                Objects.equals(patientBirthday, that.patientBirthday) &&
                Objects.equals(patientAge, that.patientAge) &&
                Objects.equals(patientId, that.patientId) &&
                Objects.equals(patientMobile, that.patientMobile) &&
                Objects.equals(departmentId, that.departmentId) &&
                Objects.equals(departmentName, that.departmentName) &&
                Objects.equals(doctorCode, that.doctorCode) &&
                Objects.equals(doctorName, that.doctorName) &&
                Objects.equals(recordsTime, that.recordsTime) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(visitTime, that.visitTime) &&
                Objects.equals(beAdmissionTime, that.beAdmissionTime) &&
                Objects.equals(dischargeTime, that.dischargeTime) &&
                Objects.equals(patientNature, that.patientNature) &&
                Objects.equals(idcardType, that.idcardType) &&
                Objects.equals(idcardTypeName, that.idcardTypeName) &&
                Objects.equals(idcard, that.idcard) &&
                Objects.equals(address, that.address) &&
                Objects.equals(status, that.status) &&
                Objects.equals(lastFollowUpTime, that.lastFollowUpTime) &&
                Objects.equals(lastFollowUpResultCode, that.lastFollowUpResultCode) &&
                Objects.equals(lastFollowUpResultText, that.lastFollowUpResultText) &&
                Objects.equals(bedNumber, that.bedNumber) &&
                Objects.equals(lastSendMessageTime, that.lastSendMessageTime) &&
                Objects.equals(satisfactionStatus, that.satisfactionStatus) &&
                Objects.equals(patientMedicalCardNumber, that.patientMedicalCardNumber) &&
                Objects.equals(patientMedicalCardType, that.patientMedicalCardType);
    }

    @Override
    public int hashCode() {
        return Objects.hash(fusMedicalRecordsId, organizationId, organizationName, hospitalNumber, recordsId, recordsType, patientName, patientSex, patientBirthday, patientAge, patientId, patientMobile, departmentId, departmentName, doctorCode, doctorName, recordsTime, createTime, visitTime, beAdmissionTime, dischargeTime, patientNature, idcardType, idcardTypeName, idcard, address, status, lastFollowUpTime, lastFollowUpResultCode, lastFollowUpResultText, bedNumber, lastSendMessageTime, satisfactionStatus, patientMedicalCardNumber, patientMedicalCardType);
    }
}
